Fast Consistency Checking for the Solaris File System
نویسندگان
چکیده
Our Netra NFS group at Sun set out to solve the challenging problem of providing remote Network File System (NFS) service with high performance and availability. An NFS server must guarantee the permanence of changes to the file system before acknowledging an NFS request. Thus, the server’s underlying local file system must perform update operations synchronously to stable storage with potentially high latency. Our solution to this problem involves using the Solaris Unix File System (UFS), derived from the Berkeley Fast File System (FFS), in conjunction with nonvolatile RAM (NVRAM) as fast stable storage. We evaluated the system using the LADDIS benchmark and as a result, developed a cacheing technique for blockmapping information that gav e us a 23% increase in measured server throughput in our standard RAID-5 server configuration. With recent increases in disk capacity and RAID technology, filesystem sizes have reached a point not imagined by the FFS designers, requiring an approach to checking file-system consistency that does not grow proportionately with file-system size. We examined several log-based solutions to providing fast crash recovery, but none could use the NVRAM effectively and meet our performance requirements. As an alternative, we dev eloped an approach that uses UFS but maintains file-system working-set information, so that the consistency checker needs to examine only the active portions of a file system. This approach met our performance goals and also reduced file-system consistency-checking times to between 3% and 25% of those in the original UFS implementation.
منابع مشابه
Solaris MC: A Multi Computer OS
Solaris MC is a prototype distributed operating system for multi-computers (i.e., clusters of nodes) that provides a single-system image: a cluster appears to the user and applications as a single computer running the SolarisTM operating system. Solaris MC is built as a set of extensions to the base Solaris UNIX® system and provides the same ABI/API as Solaris, running unmodified applications. ...
متن کاملFine-Grain and Multiprogramming-Conscious Nanothreading with the Solaris Operating System
This paper presents the architectural and implementation details of a nanothreads runtime system customized for the Solaris operating system. A nanothreads runtime system addresses jointly three major performance issues; exploitation of fine-grain parallelism, efficient execution of arbitrarily nested task and data parallelism and scalability of multithreaded programs in multiprogrammed shared-...
متن کاملVerifying File System Consistency at Runtime
Existing file-system reliability methods, such as checksums, redundancy, or transactional updates, provide limited defenses against file-system bugs that cause disk corruption. The existing workarounds, based on using backups or repairing the file system, are painfully slow. Worse, the recovery is performed much after the error occurred, and thus may result in further corruption and data loss. ...
متن کاملRobust Consistency Checking for Modern Filesystems
We describe our approach to building a runtime file system checker for the emerging Linux Btrfs file system. Such checkers verify the consistency of file system metadata update operations before they are committed to disk, thus preventing corrupted updates from becoming durable. The consistency checks in Btrfs are complex and need to be expressed clearly so that they can be reasoned about and i...
متن کاملA ffsck: The Fast File System Checker
Crash failures, hardware errors, and file system bugs can corrupt file systems and cause data loss, despite the presence of journals and similar preventive techniques. While consistency checkers such as fsck can detect this corruption and restore a damaged image to a usable state, they are generally created as an afterthought, to be run only at rare intervals. Thus, checkers operate slowly, cau...
متن کامل